using System;
using Microsoft.Xna.Framework;
using Xfinity.Weapons;

namespace Xfinity.Physics
{
    /// <summary>
    /// An ODE to simulate a Projectile.
    /// </summary>
    public class ProjectileOde : Ode
    {

        /// <summary>
        /// Constructs a new Projectile ODE.
        /// </summary>
        public ProjectileOde()
            : this(Vector3.Zero, Vector3.Zero, new ProjectileProperties())
        {
        }
        public ProjectileOde(Vector3 initialPosition, Vector3 muzzleVelocity, ProjectileProperties properties)
            : base(1)
        {

        }

        /// <summary>
        /// Evaluates the Projectile.
        /// </summary>
        /// <param name="time">The current time.</param>
        /// <param name="dependantVariables">All the current dependant variables.</param>
        /// <param name="deltaDependantVariables">The delta of the dependant variables.</param>
        /// <param name="deltaTime">The delta of the time.</param>
        /// <param name="dependantVariableScale">The position between 0 and 1 of the RK evaluation.</param>
        /// <returns>The new dependant variables.</returns>
        public override double[] GetRightHandSide(double time, double[] dependantVariables, double[] deltaDependantVariables, double deltaTime, double dependantVariableScale)
        {
            throw new NotImplementedException();
        }
    }
}